Red-eye effects occur in images due to the ambient lighting conditions being relatively low when a flash is used. A human eye will adapt to the low lighting by dilating the pupil. When the photograph is captured, the light from the flash will enter the dilated pupil, illuminating red blood vessels in the retina. Red-eye detection is an image analysis technique used to localize the red-eye effects in digital color photographs captured using a flash.
Reliable red-eye detection is a difficult task. While red-eye detection in simple images can be straightforward, a more sophisticated approach is usually required in order to reduce the number of incorrectly detected red-eye objects, commonly known as false positives, in complex images. The task of deciding whether a candidate red-eye object is a true red-eye can be done using feature extraction methods and a trained classifier such as an artificial neural network.
Artificial neural networks are computational models based on biological neural networks. They are comprised of basic processing units called artificial neurons, which can be combined to model complex processes and systems. The input of the neural network is an array of features that describe the candidate red-eye object. When properly trained, a neural network classifier (“NNC”) can take a feature vector of the candidate object and decide whether the object is a true red-eye or a false positive. However, as with other learning systems, the classification accuracy of an NNC may be insufficient when input images are too complex or candidate objects do not have features similar to that of training samples. Moreover, depending on the complexity of an NNC, computational efficiency can become impaired. Thus, improvements are needed in the area of red-eye detection with NNCs.